import request from '@/utils/request';

/**
 * 获取空间使用状态
 * @param {Object} params - 请求参数
 * @param {Long} params.spaceId - 空间ID
 * @param {boolean} params.queryPublic - 是否查询公共图库
 * @param {boolean} params.queryAll - 全空间分析
 * @returns {Promise<Result<SpaceUsageAnalyzeResponse>>} - 响应结果
 */
export const getSpaceUsageAnalyzeAPI = (params) => {
  return request({
    url: '/space/analyze/usage',
    method: 'post',
    data: params
  });
};

/**
 * 获取空间图片分类分析
 * @param {Object} params - 请求参数
 * @param {Long} params.spaceId - 空间ID
 * @param {boolean} params.queryPublic - 是否查询公共图库
 * @param {boolean} params.queryAll - 全空间分析
 * @returns {Promise<Result<List<SpaceClassifyAnalyzeResponse>>>} - 响应结果
 */
export const getSpaceCategoryAnalyzeAPI = (params) => {
  return request({
    url: '/space/analyze/classify',
    method: 'post',
    data: params
  });
};

/**
 * 获取空间图片标签分析
 * @param {Object} params - 请求参数
 * @param {Long} params.spaceId - 空间ID
 * @param {boolean} params.queryPublic - 是否查询公共图库
 * @param {boolean} params.queryAll - 全空间分析
 * @returns {Promise<Result<List<SpaceTagAnalyzeResponse>>>} - 响应结果
 */
export const getSpaceTagAnalyzeAPI = (params) => {
  return request({
    url: '/space/analyze/tag',
    method: 'post',
    data: params
  });
};

/**
 * 获取空间图片大小分析
 * @param {Object} params - 请求参数
 * @param {Long} params.spaceId - 空间ID
 * @param {boolean} params.queryPublic - 是否查询公共图库
 * @param {boolean} params.queryAll - 全空间分析
 * @returns {Promise<Result<List<SpaceSizeAnalyzeResponse>>>} - 响应结果
 */
export const getSpaceSizeAnalyzeAPI = (params) => {
  return request({
    url: '/space/analyze/size',
    method: 'post',
    data: params
  });
};

/**
 * 获取空间用户行为分析
 * @param {Object} params - 请求参数
 * @param {Long} params.spaceId - 空间ID
 * @param {boolean} params.queryPublic - 是否查询公共图库
 * @param {boolean} params.queryAll - 全空间分析
 * @param {Long} params.userId - 用户ID
 * @param {String} params.timeDimension - 时间维度：day / week / month
 * @returns {Promise<Result<List<SpaceUserAnalyzeResponse>>>} - 响应结果
 */
export const getSpaceUserAnalyzeAPI = (params) => {
  return request({
    url: '/space/analyze/user',
    method: 'post',
    data: params
  });
};

/**
 * 获取空间使用排行分析
 * @param {Object} params - 请求参数
 * @param {Integer} params.topN - 排名前N的空间，默认10
 * @returns {Promise<Result<List<Space>>>} - 响应结果
 */
export const getSpaceRankAnalyzeAPI = (params) => {
  return request({
    url: '/space/analyze/rank',
    method: 'post',
    data: params
  });
};
